﻿
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
    <meta name="baidu-site-verification" content="SBg5l6RhNK" />
    <meta name="keywords" content="C#工作流,C#工作流引擎,C#工作流平台" />
    <meta name="description" content="基于C#语言研发的Smartflow-Sharp工作流管理平台，该工作流管理平台的特点是简单易用、方便扩展、支持多种数据库访问、高度可定制化，支持用户按需求做功能的定制开发，节省用户的使用成本。" />
    <meta name="author" content="chengderen">
    <title>Smartflow-Sharp工作流管理平台</title>
    <link href="./css/bootstrap.min.css" rel="stylesheet" />
    <!-- Custom styles for this template -->
    <link href="./css/sticky-footer-navbar.css" rel="stylesheet">
    <script type="text/javascript" src="./Content/common.js"></script>
    <script type="text/javascript" src="https://hm.baidu.com/hm.js?1d12f66f2f6f25504daa528cd96ea7e8"></script>
    <style>
        /*.container {width: 980px;}*/
        .jumbotron{
            background-color:#fbf7f7;
        }
    </style>
</head>
<body>
    <!-- Fixed navbar -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
        <div class="container">
            <a class="navbar-brand" href="/">Smartflow-Sharp 工作流管理平台</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation" style="">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarColor01">
                <ul class="navbar-nav mr-auto">
                    <li class="nav-item">
                        <a class="nav-link" href="/">首页</a>
                    </li>
                    <li class="nav-item  active">
                        <a href="./doc.html" class="nav-link">文档</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="javascript:openWin('tool.html', 960, 560);">流程图设计工具</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="./donate.html">捐赠</a>
                    </li>
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li class="nav-item">
                        <a class="nav-link" href="#" style="color:#FFF;font-weight:bold;">
                            技术支持/商务合作：<span>237552006@qq.com</span>
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
    <!-- Begin page content -->
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="jumbotron">
                    <h3>前言</h3>
                    <p class="text-justify"> 目前，属于.NET平台下研发的工作流管理平台真是太少，可供选择真心不多，官方我们之前也采用过，没有用好，到处是问题，而且还没有提供在线的流程设计器，使用起来极其不方便。市面上免费开源工作流管理平台又很少，基本都是属于要收取一定的费用。真正免费的又不是很好用，收费的又太高，所以笔者自已闭门造车，打造一款基于.NET平台免费开源工作流管理平台，为开源尽一点自已的绵薄之力。笔者基于.NET平台，研发了Smartflow-Sharp工作流管理平台，Smartflow-Sharp工作流管理平台目前包含工作流引擎、工作流流程设计器，支持流程在线设计。工作流引擎负责提供对流程的解析，并驱动流程的流转，是工作流平台核心部件。流程设计器是基于SVG研发，支持所有主流浏览器，IE浏览器只支持IE9以上的版本。工作流平台研发所采用的技术框架和工具是Vs2013+Dapper+ASP.NET MVC4.0+.NETFX4.0。为了便于后续扩展，支持其他的数据库的访问，笔者经过慎重考虑采用Dapper组件。Dapper组件对原生SQL语句支持比较友好，且支持所有主流数据库系统访问。所以，你不用担心Smartflow-Sharp工作流管理平台对跨库访问能力。目前，默认只支持 MSSQLSERVER数据库，若想支持其他数据库访问，请修改系统中Web.Config数据连接配置项。
                    </p>
                    <h3>集成</h3>
                    <p class="text-justify">
                        打开项目文件夹，在SQLServer2005中按顺序执行SQL文件夹下SQL脚本，执行完成后会创建flow、bussiness两个数据库。然后，在VS中打开项目解决方案，分别找到example\Smartflow.Web.Mvc\Web.config，src\Smartflow.Web.Design\Web.config 配置文件，修改其访问数据库连接字符串，然后，将这两个项目发布到本地IIS虚拟目录里。部署完成后，直接浏览项目，如果能浏览到登录界面表示部署成功。
                    参照示例将Smartflow-Sharp工作流管理平台整合到业务系统中，由于Smartflow-Sharp工作流管理平台的高度可定制化特点，既是优点也是缺点，优点就是可以很方便的根据用户的需求做定制化研发，缺点是太过灵活，有些功能需要用户自已开发。集成步骤如下：</p>
                    <p style="color:red;font-weight:bold;">
                        1、flow是工作流基础库，直接整体拷贝到你业务系统<br />
                        2、在flow数据库中打开t_config表，在表中增加业务库的连接字符串<br />
                        3、bussiness是提供的示例库<br />
                        4、工作流节点要与角色关联，用户必须提供角色表，工作流是依据角色筛选审批人员<br />
                        5、调整业务系统和Smartflow.Web.Design项目中Web.config配置文件，如下配置信息<br />
                        <pre><code>&lt;configsections&gt;
    &lt;section name="smartflowConfiguration" type="Smartflow.SmartflowConfiguration,Smartflow" /&gt;
&lt;/configsections&gt;
&lt;smartflowConfiguration connectionstring="server=127.0.0.1;database=flow;uid=sa;pwd=123456"  providerName="System.Data.SqlClient" /&gt;
&lt;connectionstrings /&gt;
    &lt;add name="busConnection" connectionString="server=127.0.0.1;database=bussiness;uid=sa;pwd=123456"  providerName="System.Data.SqlClient"   /&gt;
&lt;/connectionstrings/&gt;
</code>
</pre></p><p style="color:red;font-weight:bold;">
                        6、邮件服务是可选项，根据需求配置<br />
<pre><code>&lt;configsections&gt;
    &lt;section name="mailConfiguration" type="Smartflow.MailConfiguration,Smartflow" /&gt;
&lt;/configsections&gt;
&lt;mailConfiguration account="邮件账号（237552006@qq.com）"
                      password="授权码（非邮箱的登录密码）" 
                      name="显示名称（smartflow-sharp）"
                      host="服务(smtp.qq.com)" 
                      port="端口" 
                      enableSsl="是否启用HTTPS" /&gt;
</code>
</pre>
                    </p>
                    <p class="text-justify">
                        以上就是Smartflow-Sharp工作流管理平台完整的集成过程，工作流管理平台还有些工作需要由用户自已来完成如用户、角色等信息，都需要用户自已提供维护界面。通常在集成过程中需要提供待办、审批记录这些请参照示例，按需集成，在此不详细作介绍。
                    </p>
                    <h3>结语</h3>
                    <p class="text-justify">笔者会对Smartflow-Sharp工作流管理平台，一直维护到底。未来，我会对工作流管理平台增加更多有趣的功能，以便你能将工作流平台更加快速的融入到业务系统中。期望，能打造成符合中国特色工作流管理平台，造福更多企业和开发人员。
                    入行七年多的时间，一直从事研发工作，主要从事的ERP 管理类型信息系统研发。 七年时间也不短，一直碌碌无为，于是我决定现在要做点什么事情，由于之前接触过工作流研发方面事情，所以我就想做个免费开源工作流管理平台。工作流管理平台的技术含量并不高，但是要想把他做好，也是需要花很大的精力，如果你觉得能帮助到你，欢迎帮忙推荐。</p>
                </div>
            </div>
        </div>
    </div>
    <footer class="footer">
        <div class="container">
            <div class="row">
                <div class="col-md-12">
                    <p class="text-muted text-left">
                        &copy;2018&nbsp;<a href="/" style="color:#868e96;" target="_self">Smartflow-Sharp</a> Inc. All rights reserved.
                    </p>
                </div>
            </div>
        </div>
    </footer>
    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <script src="./css/bootstrap.min.js"></script>
</body>
</html>
